home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Misc / FLM / otherfiles / deutsch / ARexx / finalw_auto1.rexx < prev    next >
OS/2 REXX Batch file  |  2000-01-01  |  3KB  |  110 lines

  1. /*
  2.   automatischer Übersetzung-Script für FinalWriter
  3.   (c) 1996 Denis Unger (16.07.1996)
  4.  
  5.   Dieser Script übersetzt den markierten Teil vom Dokument und schreibt
  6.   die Übersetzung entweder ans Dokument-Ende oder an die Stelle, wo
  7.   der markierte Text stand.
  8. */
  9.  
  10.  
  11. /* Nun kommen persönliche Einstellungen, welche evtl. geändert werden müssen ...*/
  12. /********************************************************************************/
  13. FLM             = 'FLM:FLM'             /* Programm FLM */
  14. FWfont1         = 'SoftSans'            /* Font für gefundene Wörter */
  15. FWfont2         = 'SoftSans_Bold'       /* Font für nichtgefundene Wörter */
  16. /********************************************************************************/
  17.  
  18. Options Results
  19.  
  20. gestartet = 0
  21. if ~show('PORTS','FLM') then do          /* FLM schon gestartet ? */
  22.     address command 'run >NIL: ' || FLM  /* starte FLM */
  23.     address command "SYS:Rexxc/WaitForPort FLM"
  24.     gestartet = 1        /* FLM wird nach Übersetzung beendet */
  25. end
  26.  
  27.   ShowMessage 1 0 '"Welcher Bereich soll Übersetzt werden?" "" "" " Alles " " Markierter Bereich " ""'
  28.   Bereich = RESULT
  29.  
  30.   ShowMessage 1 0 '"Übersetzungs-Art ?" "" "" "Automatisch" "Benutzer" ""'
  31.   trans_art = RESULT
  32.  
  33. /* Im Moment feste Sprache Englisch und Deutsch*/
  34.   ShowMessage 1 0 '"Übersetzungsrichtung ?" "" "" "  Deutsch->Englisch   " "Englisch->Deutsch" ""'        /* in welche Richtung soll übersetzt werden */
  35.     Richtung = RESULT
  36.   if Richtung = '2' then do
  37.     address FLM SETLANGUAGE englisch
  38.   end
  39.   else do
  40.     address FLM SETLANGUAGE deutsch
  41.   end
  42.  
  43.   ShowMessage 1 0 '"Wohin soll die Übersetzung geschrieben werden?" "" "" " An das Dokument-Ende " " Orginal überschreiben " ""'
  44.   Ziel = RESULT
  45.  
  46.   if Bereich = '1' then SelectAll  /* Alles markieren, da "Alles Übersetzen" gewählt */
  47.  
  48.   Extract
  49.  
  50.   text = RESULT /* Markierter Text */
  51.  
  52.   ShowMessage 1 0 '"Soll der markierte Text nun übersetzt werden !" "" "" "Ja" "Nein" ""'
  53.   if RESULT = 2 then exit
  54.  
  55.   if Ziel = 1 then do
  56.     /* Cursor ans Dokument-Ende */
  57.     AltDown
  58.     CtrlDown
  59.     Cursor 'Down'
  60.     CtrlUp
  61.     AltDown
  62.   end
  63.  
  64. do i=1 to words(text)
  65.  
  66.   wort = word(text,i) /* 1., 2., 3., ... Wort */
  67.   address FLM lookword wort
  68.   address FLM found    /* wurde Wort gefunden*/
  69.   gefunden = RESULT
  70.  
  71.   if trans_art = 2 then do
  72.     /* Benutzer steuert Übersetzung */
  73.     ShowMessage 1 0 '"Übersetzung auswählen !" "" "" "Übersetzung" "Original" "Abbruch"'
  74.     nutzer = RESULT
  75.     if nutzer = 3 then exit
  76.     if nutzer = 2 then do
  77.       Type wort
  78.     end
  79.     if nutzer = 1 then do
  80.       address FLM takeword
  81.       Type RESULT
  82.     end
  83.   end
  84.   else do
  85.     /* Automatische Übersetzung */
  86.     if gefunden = 0 then do
  87.       address FLM takeword
  88.       taked_word = RESULT
  89.       Font FWFont1
  90.       Type taked_word
  91.     end
  92.     else do
  93.       Font FWfont2
  94.       Type wort
  95.     end
  96.   end
  97.   Type ' ' /* Leerzeichen zwischen den Wörtern */
  98.  
  99. end
  100.  
  101. ShowMessage 1 0 '"Textübersetzung beendet." "" "" "OK" "" ""'
  102.  
  103. if gestartet = 1 then do
  104.  /* wurde FLM durch das Script gestartet, so wird es nun auch wieder beendet */
  105.  address FLM QUIT
  106. end
  107.  
  108. exit
  109.  
  110.